import axios from 'axios'

// 添加请求拦截器
axios.interceptors.request.use(
  function (config) {
    if (config.url !== '/login') {
      const token = sessionStorage.getItem('token')
      config.headers['Authorization'] = token
    }
    return config
  },
  function (error) {
    return Promise.reject(error)
  }
)

// 添加响应拦截器
// 响应拦截
axios.interceptors.response.use(
  function (response) {
    return response
  },
  function (error) {
    this.$message.error(error.response.data)
    // 获取错误状态码，token失效
    const { status } = error.response
    if (status === 401) {
      this.$message.error('token失效，请重新登录')
      // 清除token
      sessionStorage.removeItem('token')

      // 重新跳转到login页面
      this.$router.push('/login')
    }
    return Promise.reject(error)
  }
)
export default axios
